Cách khai báo sau đây là đúng hay sai? Nếu sai hãy sửa lại:
Var x:array [10,13] of integer;
S:=0; n:=0; while S < for do n:=n + 1; S:= s+n
For i:=1 to 10 do; writeln ('A')
Var x: real; begin for x:=1 to 10 do writeln ('A'); end.
Em hãy xác định các câu lệnh sau đây đúng hay sai? Nếu sai hãy giải thích tại sao?
a) For i:=150 to 1 do writeln(‘A’);
b) For i:=1.5 to 30.5 do writeln(‘B’);
c) S:=0;n:=0; While S<=20 do begin n:=n+1;S:=S+n; end
d) Var X: array[10..1] of integer;
e) Var X: array[1,5...20,5] of integer;
f) Var X: array[1..30] of integer;
a: Sai bởi chỉ số đầu lớn hơn chỉ số cuối
b: Sai vì chỉ số đầu, chỉ số cuối là số thực
c: Sai vì chỗ end thiếu chấm phẩy
d: Sai vì chỉ số đầu lớn hơn chỉ số cuối
e: Sai vì chỉ số đầu và chỉ số cuối là số thực
d: Đúng
Hãy tìm lỗi đoạn chương trình sau và sửa lại cho đúng vào cột bên cạnh: Program Tong__nghich__dao; Var n, i: real S: Integer; Begin Write (‘Nhap n= ’); readln(n); S:=0; For i:=1 to n do S=S+1/i; Write(‘Tong can tim la: ’, ‘S:6:2’); Readln End.
Program Tong__nghich__dao;
Var
n,i:real;
S:Integer;
Begin
Write('Nhap n=');Readln(n);
S:=0;
For i:=1 to n do S:=S+1/i;
Write('Tong can tim la: ', S:6:2);
Readln;
End.
đây đúng hay sai? Nếu sai hãy giải thích tại sao? a) For i:=150 to 1 do writeln(‘A’); b) For i:=1.5 to 30.5 do writeln(‘B’); c) S:=0;n:=0; While S
a) Đúng. Vòng lặp for được sử dụng để lặp lại việc xuất chuỗi 'A' từ i=150 đến i=1.
b) Sai. Vòng lặp for yêu cầu chỉ sử dụng các giá trị nguyên, không phải là các giá trị số thực => không thể sử dụng i làm biến đếm trong vòng lặp này. (bạn có thể sử dụng một biến số nguyên khác để đếm số lần lặp lại, hoặc sử dụng vòng lặp while)
c) Sai. Câu lệnh While cần có một điều kiện để kiểm tra, trong khi trong câu lệnh này không có điều kiện nào để kiểm tra. Nếu không có điều kiện để kiểm tra, vòng lặp sẽ lặp vô hạn và không bao giờ dừng lại.
Câu 1: Mỗi câu lệnh dưới đây đều có lỗi sai, em hãy sửa lại cho đúng
a) For i:= 17 to 109 do writeln (‘a);’
b) For i:= 1 to 10 do x=x+1;
c) S:= 7
While S:= 15 do n:=n+s;
d) Var a:=array [1…100] of real;
Câu 2: Viết chương trình Pascal tính và in giá trị của tổng S ra màn hình với
S= 1000+1001+1002+…+1021
Câu 3: Nêu cú pháp sử dụng lệnh For…do lệnh While…do:
Câu 4: Nêu cú pháp khai báo biến mảng trong chương trình Pascal:
Giải giúp mình với mai cô kiểm tra rồi!!!
câu 1:
a)for i:=17 to 109 do writeln('a');
b)for i:=1 to 10 do x:=x+1;
c)s:=7;
while s<=15 do
begin
n:=n+s;
s:=s+1;
end;
d)var a:array[1..100] of real;
câu 2:
program tihn_tong;
uses crt;
var s,i:integer;
begin
clrscr;
i:=1;s:=1000;
while i<=21 do
begin
s:=s+1000+i;
i:=i+1;
end;
writeln(s);
readln;
end.
câu 3:
cú pháp của lệnh for...to...do:
for<biến đếm>:=<giá trị đầu>to<giá trị cuối>do<công việc>
cú pháp của lệnh while...do:
while<điều kiện>do<công việc>
câu 4:
cú pháp khai báo biến mang trong chương trình pascal:
khai báo trực tiếp:
var <biến mảng>:array[chỉ số]of <kiểu dữ liệu>
khai báo gián tiếp:
type <biến mang> =array[chỉ số]of <kiểu dữ liệu>
Câu 1:
a) for i:=17 to 109 do
writeln('a');
Câu 1:
b) for i:=1 to 10 do
x:=x+1;
Tìm và sửa lỗi cho chương trình sau:
Bài 1:
Program bai 1;
Var x; n: integer;
Begin
X=12
Write(n:4,x:4);
ReadIn
End.
Bài 2:
Program 2bai;
Var i, n, s:real;
Begin
S:=0
For i:=0.5 to n do
S=S+i;
Write(s);
ReadIn
End.
Bài 1
Lỗi:
1) Program bai 1; => sửa: Program bai1;
2) Var x; n: integer; => sửa: Var x, n:integer;
3) X = 12 => sửa: x:=12;
-------------------
Bài 2
Lỗi
1) Program 2bai; => sửa: Program bai2;
2) Var i, n, s:integer;
3) S:=0 => sửa S:=0;
4) For i:=0,5 to n do => sửa: For i:=1 to 5 do
5) S=S+i; => sửa: S:=S+i;
Các câu lệnh và khai báo sau trong pascal đúng hay sai?hãy chỉ ra lỗi sai nếu có
a) For i:=1 to 10; do x:=x+1;
b) For i: =1 to 10 do writeln('A')
c) Y:=5; while Y:=10 do Y:=Y+20;
d) s :=0; n :=0; ; while s<= 10 do n :=n+1;s:=s+n;
e) for i =100 to 20 do x :=x+2;
f) for i :=2 to 20 do x:=x+1;
a) 2 lỗi
- thiếu do
- vòng lặp for tuyệt đối không có ;
b: sau writeln('A') không có chấm phẩy
c: sai chỗ y:=10
phải là y=10 mới đúng
d: sử dụng 2 chấm phẩy là sai
sau while do nếu có từ 2 lệnh trở lên phải bao bọc trong begin end
e: thiếu dấu : sau i, đi từ 100 tới 20 là sai,
phải là for i:=100 downto 20 do mới đúng
f: không sai
Các khai báo biến mảng sau đây trong Pascal đúng hay sai:
a) var X: Array[10,13] Of Integer;
b) var X: Array[5..10.5] Of Real;
c) var X: Array[3.4..4.8] Of Integer;
d) var X: Array[10..1] Of Integer;
e) var X: Array[4..10] Of Real;
a, sai vì dấu "," phải được thay bằng ".."
b, c, sai vì chỉ số đầu và cuối đều phải kiểu nguyên
d, sai vì chỉ số đầu phải nhỏ hơn chỉ số cuối
e, đúng
Xác định lỗi sai và sửa lại
a) Var X : Array [1;50] of integer;
b) Var X : Array [5..50.5] of real;
c) For i: 1,5 to 10 do write ('A');
d) For i: 1 to ; 10 do write ('A');
e) While x:=10 do x:=x+5;
a) Var X : Array [1;50] of integer; (sai cách khai báo mảng)
-> Var X : Array [1..50] of integer;
b) Var X : Array [5..50.5] of real; (sai vì chỉ số là số thực)
-> Var X : Array [5..50] of real;
c) For i: 1,5 to 10 do write ('A'); (sai vì giá trị đầu là số thực)
-> For i: 1,5 to 10 do write ('A');
d) For i: 1 to ; 10 do write ('A'); (sai vì sau to có dấu ; và sau i: thiếu dấu =)
->For i:= 1 to 10 do write ('A')
e) While x:=10 do x:=x+5; (điều kiện sai, đây là phép gán không phải điều kiện)
-> While x=10 do x:=x+5;
Viết lại chương trình sau cho đúng: PROGRAM Ten-KTGK-DTNT_Buon Ho VAR i: Real; S: integer; Begin S = 0; For i = 1 To 20 Do S:= S+i; Write (‘Tong S =’ , S) End
PROGRAM Ten_KTGK_DTNT_Buon_Ho;
VAR i: Real;
S: integer;
Begin
S := 0;
For i := 1 To 20 Do
S:= S+i;
Write (‘Tong S =’ , S);
End.